#pragma once
#include <Rz/IObject.h>
#include <Rz/Collections/List.h>
#include <Rz/Graphics/Render/VertexDescription.h>

namespace Rz { namespace Graphics { namespace Render { namespace VertexDescriptions {

class IVertexDescription :
	virtual public IObject
{
	public:
		RZ_RTTI_INTERFACE(Rz::Graphics::Render::VertexDescriptions, IVertexDescription);
		RZ_RTTI_IMPLEMENTS(IObject);
		RZ_RTTI_END;

		virtual Collections::SingleCollection GetRawData() const = 0;
		virtual const VertexDescription* GetVertexDescription() const = 0;
		RZ_INLINE static VertexDescription* GetVertexDescriptionStatic() { return nullptr; }
};

} } } }
